package com.ceair.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ceair.entity.SysLog;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ceair.entity.request.QueryLogExtReq;
import com.ceair.entity.request.QuerySysLogReq;
import com.ceair.entity.vo.LogExtVO;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author wangbaohai
 * @since 2025-03-19
 */
public interface ISysLogService extends IService<SysLog> {

    /**
     * 分页查询系统日志信息。
     *
     * @param querySysLogReq 查询条件请求对象，包含分页信息和筛选条件。
     *                       例如：页码、每页大小、日志级别、操作类型等。
     * @return 返回一个分页结果对象，包含符合条件的系统日志数据。
     *         结果对象中包括当前页的数据列表以及分页相关信息（如总记录数、总页数等）。
     */
    Page<SysLog> querySysLogWithPage(QuerySysLogReq querySysLogReq);

    /**
     * 根据查询条件请求对象，查询系统日志的详细信息。
     *
     * @param queryLogExtReq 查询条件请求对象，包含查询系统日志所需的参数。
     *                       该对象通常包括日志ID等信息，用于定位具体的日志记录。
     * @return 返回一个包含系统日志详细信息的 LogExtVO 对象。
     *         如果查询失败或未找到对应日志，则可能返回 null 或空对象，具体行为取决于实现。
     */
    LogExtVO querySysLogDetailById(QueryLogExtReq queryLogExtReq);

}
